<?php
/**
 * Created by PhpStorm.
 * User:yulin
 * Date:
 * Time:
 * Mail:
 */

namespace app\adminapi\controller;
use app\adminapi\model;
use app\adminapi\validate\CarlifeValidate;
use app\base\service\Csv;
/**
 * @name【申购新车】
 * @baseurl【adminapi/Carbuy】
 * @file【Carbuy.php】
 */
class Carbuy extends Base
{
    /**
     * @name【申购新车列表】
     * @desc【申购新车列表】
     * @uri【buyList】
     * @method【post】
     * @param【
     * fields $ string $ apply_buycar_no,company_name,state $ 字段名称 #
     * where_json $ json $ {"apply_buycar_no":["like","%王%"],"company_name":["like","%王%"],"state":["in","1"]} $ 查询条件 #
     * page $ int $ 1$ 页数 #
     * pagenum $ int $ 10 $记录数
     * 】
     * @return【
     * code $ int $ number|1-1 $ 校验码#
     * msg $ string $  $ 错误信息 #
     * data $ json $ $ 订单列表 #
     * description $ json $ $ 接口说明
     * 】
     */
    public function buyList(){

        $report    = new CarlifeValidate();
        $param     = $report->scene('report')->getCurrentData();
        $report->goCheck($param);
        $where     = json_decode($param['where_json'],true);
        list($code,$data) = (new model\CarBuy())->carbuyLlist($param['fields'],$where,$param['page'],$param['pagenum']);
        if($code==1){
            return $this->retSucc($data);
        }else{
            return $this->retError($data);
        }
    }

    /**
     * @name【新增申购新车】
     * @desc【新增申购新车】
     * @uri【add】
     * @method【post】
     * @param【
     * company_id $ int $ 123 $ 公司ID $ 1 #
     * user_name $ string $ anc $ 申请人 $ 1 #
     * car_brand_id $ int $ 123 $ 品牌 $ 1 #
     * car_series_id $ int $ 123 $ 车型 $ 1 #
     * car_model_id $ int $ 123 $ 车系 $ 1 #
     * people $ int $ 123 $ 载客数 $ 1 #
     * money $ int $ 123 $ 预算 $ 1 #
     * buyto $ string $ anc $ 用途 $ 1 #
     * whybuy $ string $ anc $ 理由 $ 1 #
     * 】
     * @return【
     * code $ int $ number|1-1 $ 标识1-成功 0-失败#
     * msg $ string $  $ code=0，错误信息#
     * 】
     * @return mixed|\think\response\Json|void
     * @throws \app\base\exception\RecordNotFoundException
     * @throws \think\exception\DbException
     */
    public function add(){
        $param = input('param.');

        list($code,$data) =  (new model\CarBuy())->createOrUpdate($param);

        if($code==1){
            $info['code'] = $code;
            $info['msg']  = '';
            $info['time'] = time();
            if(is_array($data)){
                $info         = array_merge($info,$data);
            }else{
                $info['data'] = $data;
            }
            return json($info);
        }else{
            return $this->retError($data);
        }
    }

    /**
     * @name【审核申购新车】
     * @desc【审核申购新车】
     * @uri【checkBuy】
     * @method【post】
     * @param【
     * car_audit_id $ int $ 123 $ ID号 $ 1 #
     * company_id $ int $ 123 $ 公司ID #
     * user_name $ string $ anc $ 申请人 #
     * car_brand_id $ int $ 123 $ 品牌 #
     * car_series_id $ int $ 123 $ 车型 #
     * car_model_id $ int $ 123 $ 车系 #
     * people $ int $ 123 $ 载客数 #
     * money $ int $ 123 $ 预算 #
     * buyto $ string $ anc $ 用途 #
     * whybuy $ string $ anc $ 理由 #
     * state $ string $ anc $ 状态 $ 1 #
     * 】
     * @return【
     * code $ int $ number|1-1 $ 标识1-成功 0-失败#
     * msg $ string $  $ code=0，错误信息#
     * 】
     * @throws \app\base\exception\RecordNotFoundException
     * @throws \think\exception\DbException
     */
    public function checkBuy(){
        $param = input('param.');

        list($code,$data) =  (new model\CarBuy())->createOrUpdate($param);

        if($code==1){
            $info['code'] = $code;
            $info['msg']  = '';
            $info['time'] = time();
            if(is_array($data)){
                $info         = array_merge($info,$data);
            }else{
                $info['data'] = $data;
            }
            return json($info);
        }else{
            return $this->retError($data);
        }
    }

    /**
     * @name【删除申购新车】
     * @desc【删除申购新车】
     * @uri【delete】
     * @method【post】
     * @param【
     * car_audit_id $ int $ 123 $ ID号 $ 1 #
     * 】
     * @return【
     * code $ int $ number|1-1 $ 标识1-成功 0-失败#
     * msg $ string $  $ code=0，错误信息#
     * 】
     */
    public function delete(){

        $param = input('param.');

        list($code,$data) =  (new model\CarBuy())->delete($param['car_audit_id']);

        if($code==1){
            $info['code'] = $code;
            $info['msg']  = '';
            $info['time'] = time();
            if(is_array($data)){
                $info         = array_merge($info,$data);
            }else{
                $info['data'] = $data;
            }
            return json($info);
        }else{
            return $this->retError($data);
        }
    }
}